package com.sc.nft.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sc.nft.entity.RankingBoardHistoryDetails;
import com.sc.nft.entity.UserRankingBoardIncomeLog;
import com.sc.nft.entity.vo.GetRankingBoardDetailsVO;
import com.sc.nft.enums.RankingBoardIncomeAndRewardsStatusEnum;

import java.util.List;

/**
 * 用户排行榜记录
 */
public interface UserRankingBoardDetailsService {

    /**
     * 获取历史排行榜详情
     * @param id
     * @param userTel
     * @return
     */
    List<GetRankingBoardDetailsVO> getHistoryDetailsByIdAndUserTel(Long id, String userTel);

    /**
     * 获取偶数排行榜详情
     * @param id
     * @param userTel
     * @return
     */
    List<GetRankingBoardDetailsVO> getEvenNumberDetailsByIdAndUserTel(Long id, String userTel);

    /**
     * 获取奇数排行榜详情
     * @param id
     * @param userTel
     * @return
     */
    List<GetRankingBoardDetailsVO> getOddNumberDetailsByIdAndUserTel(Long id, String userTel);

    /**
     * 获取排行榜历史记录
     * @param confId
     * @param ranking
     * @return
     */
    RankingBoardHistoryDetails getOneByRankingBoardConfIdAndRanking(Long confId, Integer ranking);

    /**
     * 修改详情中的奖励发放状态
     * @param id
     * @param ranking
     * @param status
     * @return
     */
    Boolean updateRankingBoardDetailsStatusByRankingBoardConfIdAndRanking(Long id, Integer ranking, RankingBoardIncomeAndRewardsStatusEnum status);
}
